package com.example.auth.Common;

public enum ExceptionCodeEnum {

	/**
	 * 操作成功
	 */
	SUCCESS(0, "操作成功"),

	/**
	 * 操作失败
	 */
	FAIL(1, "操作失败"),

	/**
	 * 系统异常
	 */
	SYSTEM_EXCEPTION(1000, "系统异常"),

	/**
	 * 数据绑定异常
	 */
	BIND_EXCEPTION(1001, "数据绑定异常"),

	/**
	 * 服务调用异常
	 */
	FEIGN_EXCEPTION(1002, "跨服务调用异常"),

	/**
	 * 超过最大上传数量
	 */
	MAX_UPLOAD_SIZE_EXCEEDED_EXCEPTION(1003, "超过最大上传数量"),

	/**
	 * HTTP Media 类型异常
	 */
	HTTP_MEDIA_TYPE_EXCEPTION(1004, "文件上传类型错误"),

	/**
	 * 数据重复，请检查后提交
	 */
	DUPLICATE_KEY_EXCEPTION(1005, "数据重复提交"),

	/**
	 * 用户未登录
	 */
	NOT_LOGIN_EXCEPTION(2000, "用户未登录或登录已过期"),

	/**
	 * Token过期
	 */
	TOKEN_OVERDUE_EXCEPTION(2001, "Token已过期"),

	/**
	 * 缺少必填参数
	 */
	VALIDATION_EXCEPTION(2002, "缺少必填参数"),

	/**
	 * 请求参数解析异常
	 */
	PARAMETER_PARSE_EXCEPTION(2003, "请求参数解析错误"),

	/**
	 * 没有访问权限
	 */
	NOT_PERMISSION_EXCEPTION(2004, "没有访问权限"),

	/**
	 * 数据不存在或已删除
	 */
	DATA_NOT_FOUND(2005, "数据不存在或已删除"),

	/**
	 * 数据已存在
	 */
	DATA_EXISTING(2006, "数据已存在，请勿重复提交"),

	/**
	 * 登录账号被踢出
	 */
	ACCOUNT_KICKOUT_EXCEPTION(2007, "您的账号已在另外一台设备登录，如非本人操作，您的密码可能已经泄露，请及时进行密码修改"),

	/**
	 * 答题正在进行中
	 */
	ANSWER_ING(2008, "答题正在进行中，请勿打开多个界面"),
	/**
	 * 内容审核不通过
	 */
	MODERATION_BLOCK_EXCEPTION(2009, "内容审核不通过"),

	/**
	 * 禁止访问
	 */
	FORBIDDEN_EXCEPTION(403, "禁止访问"),

	/**
	 * 班级名称重复
	 */
	CLASS_NAME_REPEAT(2010,"班级名称重复"),

	/**
	 * 用户手机号绑定存在问题
	 */
	MOBILE_BIND_EXCEPTION(601, "用户手机号绑定存在异常"),

	/**
	 *浙政钉用户未绑定
	 */
	USER_BIND_EXCEPTION(602, "浙政钉用户未绑定，请联系单位联络员解决！");

	private final int code;
	private final String message;

	ExceptionCodeEnum(final int code, final String message) {
		this.code = code;
		this.message = message;
	}

	public int getCode() {
		return code;
	}

	public String getMessage() {
		return message;
	}
}